//  >>>>>>>>>>>>>>>>>>>>>>>>
// ******************伪数组
// 伪数组：有数组的键值对，有长度，但是用instancof 返回值为false
// eg1
// let arrLike={
//   0:"es6",
//   1:"es7",
//   2:"es8",
//   length:3
// }
//  console.log(arrLike instanceof Array); //返回值为 false

// //  array.from 将伪数组转换为数组
// let arr=Array.from(arrLike)
// console.log(arr instanceof Array);  //true

// ******************利用new Array构造器 构造一个对象的时候的弊端
// let arr=new Array(1,2)
// console.log(arr);  //输出：[1, 2]  length：2

// let arr2=new Array(3)
// console.log(arr2);  //输出：[empty × 3] length：3  
// // ↑↑↑↑↑此处的弊端：他把传入的3默认为是长度，参数给置空掉了

// // 解决方法：
// let arr3= Array.of(3)
// console.log(arr3);  //输出：[3] length：1  


// ******************copyWithin


// ******************fill  填充
// let arr=[1,2,3,4]
// // 有三个参数 
// // 第一个：要替换成什么样子的值，第二个:从第几位开始替换; 第三位：在第几位前面结束
// console.log(arr.fill("wyq",1,3));


// ******************includes 判断是否包含某个值
// let arr=[1,2,3,4,NaN]
// // indexOf 同样是包含，如果包含返回该值所在的下标，如果不包含返回-1,但是无法判断 NaN
// console.log(arr.indexOf(3));  //输出2
// console.log(arr.indexOf(5));  //输出-1
// console.log(arr.indexOf(NaN));  //输出-1

// // includes 判断是否包含某个值 如果包含返回true，如果不包含false,可以判断 NaN
// console.log(arr.includes(3));  //输出true
// console.log(arr.includes(5));  //输出false
// console.log(arr.includes(NaN));  //输出true






  